/**
 * 通过联合类型有2个缺点：
 *  1.进行很多逻辑判断（类型缩小）
 *  2.返回值的类型依然是不确定的
 */
type SNType = number | string
function add(n1: SNType, n2: SNType) {
    if (typeof n1 === 'number' && typeof n2 === 'number') {
        return n1 + n2
    } else if (typeof n1 === 'string' && typeof n2 === 'string') {
        return n1 + n2
    }
    // return n1 + n2
}
add(10, 20)

export {}